package cn.biplam.front.template.base;

import cn.biplam.common.tools.TOOLS;
import cn.biplam.common.wrapper.ErrorMessage;
import cn.biplam.front.html.HtmlTextArea;
import cn.biplam.front.html.base.HtmlWindow;
import cn.biplam.front.html.base.Const.Float_Type;

/**
 * 无标题多行文本输入框模版<br>
 * 用于创建指定大小的无标题多行文本输入框<br>
 * <ul>用法
 *  <li> new SimpleTextArea("名称","行字数","值") 创建多行文本输入框
 *  <li> this.get() 获取多行文本输入框
 * <ul> 
 * @author XiaoRuxing 2009-6-20下午09:31:33
 * @version 1.0
 */
public class SimpleTextArea {

	HtmlTextArea textArea;

	public SimpleTextArea(String sName) throws ErrorMessage{
		this(sName,null,null,null);
	}
	
	public SimpleTextArea(String sName,String value) throws ErrorMessage{
		this(sName,null,null,value);
	}
	
	/**
	 * 创建多行文本输入框
	 * @param sName 名称
	 * @param sCols 列数
	 * @param value 值
	 * @throws ErrorMessage
	 */
	public SimpleTextArea(String sName,String sCols,String value) throws ErrorMessage{
		this(sName,sCols,null,value);
	}
	
	/**
	 * 传入名称、行数、列数和值创建多行文本框
	 * @param sName 名称
	 * @param sCols 行数
	 * @param sRows 列数
	 * @param value 值
	 * @throws ErrorMessage
	 */
	public SimpleTextArea(String sName,String sCols,String sRows,String value) throws ErrorMessage{
		_createText(sName, sCols, sRows, value,false);
	}
	
	/**
	 * 传入名称、行数、列数和值创建多行文本框
	 * @param sName 名称
	 * @param sCols 行数
	 * @param sRows 列数
	 * @param value 值
	 * @throws ErrorMessage
	 */
	public SimpleTextArea(String sName,String sCols,String sRows,String value,boolean readOnly) throws ErrorMessage{
		_createText(sName, sCols, sRows, value,readOnly);
	}

	/**
	 * 创建多行文本输入框
	 * @param sName	   输入框名称
	 * @param value    默认值
	 * @throws ErrorMessage
	 */
	private void _createText(String sName,String sCols,String sRows,String value,boolean readOnly) throws ErrorMessage{
		int textCols=TOOLS.stringToInt(sCols);
		int textRows=TOOLS.stringToInt(sRows);
		if(textCols<1){
			textCols=20;
		}
		if(textRows<1){
			textRows=5;
		}
		this.textArea=new HtmlTextArea(null,null,sName,value);
		this.textArea.setRows(textRows);
		this.textArea.setCols(textCols);
		this.textArea.setFloat(Float_Type.Left);
		if(readOnly){
			this.textArea.setReadOnly(readOnly);
		}
	}
	
	/**
	 * 获取多行文本输入框显示长度
	 * @return
	 */
	public int getLength(){
		return  this.textArea.getCols();
	}
	
	/**
	 * 获取多行文本输入框
	 * @return
	 */
	public HtmlWindow get(){
		return this.textArea;
	}
	
}
